package com.ruoyi.drug.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 药品信息对象 drug
 * 
 * @author ruoyi
 * @date 2025-03-25
 */
public class Drug extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long drugId;

    /** 药品名称 */
    @Excel(name = "药品名称")
    private String drugName;

    /** 单位 */
    @Excel(name = "单位")
    private String unit;

    /** 药品规格() */
    @Excel(name = "药品规格()")
    private String style;

    /** 供应商名称 */
    @Excel(name = "供应商名称")
    private String supplierName;

    /** 单价 */
    @Excel(name = "单价")
    private BigDecimal price;

    /** 生产日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生产日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date productionDate;

    /** 有效期至 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "有效期至", width = 30, dateFormat = "yyyy-MM-dd")
    private Date expiryDate;

    /** 库存 */
    @Excel(name = "库存")
    private Long stock;

    /** 所属仓库id */
    @Excel(name = "所属仓库id")
    private Long storagId;

    /** 生产批号 */
    @Excel(name = "生产批号")
    private Long pruductNo;

    public void setDrugId(Long drugId) 
    {
        this.drugId = drugId;
    }

    public Long getDrugId() 
    {
        return drugId;
    }
    public void setDrugName(String drugName) 
    {
        this.drugName = drugName;
    }

    public String getDrugName() 
    {
        return drugName;
    }
    public void setUnit(String unit) 
    {
        this.unit = unit;
    }

    public String getUnit() 
    {
        return unit;
    }
    public void setStyle(String style) 
    {
        this.style = style;
    }

    public String getStyle() 
    {
        return style;
    }
    public void setSupplierName(String supplierName) 
    {
        this.supplierName = supplierName;
    }

    public String getSupplierName() 
    {
        return supplierName;
    }
    public void setPrice(BigDecimal price) 
    {
        this.price = price;
    }

    public BigDecimal getPrice() 
    {
        return price;
    }
    public void setProductionDate(Date productionDate) 
    {
        this.productionDate = productionDate;
    }

    public Date getProductionDate() 
    {
        return productionDate;
    }
    public void setExpiryDate(Date expiryDate) 
    {
        this.expiryDate = expiryDate;
    }

    public Date getExpiryDate() 
    {
        return expiryDate;
    }
    public void setStock(Long stock) 
    {
        this.stock = stock;
    }

    public Long getStock() 
    {
        return stock;
    }
    public void setStoragId(Long storagId) 
    {
        this.storagId = storagId;
    }

    public Long getStoragId() 
    {
        return storagId;
    }
    public void setPruductNo(Long pruductNo) 
    {
        this.pruductNo = pruductNo;
    }

    public Long getPruductNo() 
    {
        return pruductNo;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("drugId", getDrugId())
            .append("drugName", getDrugName())
            .append("unit", getUnit())
            .append("style", getStyle())
            .append("supplierName", getSupplierName())
            .append("price", getPrice())
            .append("remark", getRemark())
            .append("productionDate", getProductionDate())
            .append("expiryDate", getExpiryDate())
            .append("stock", getStock())
            .append("storagId", getStoragId())
            .append("pruductNo", getPruductNo())
            .toString();
    }
}
